import * as http from './utils/http'

export default {
  /**
   * 添加工单
   * @param  {Object} params 工单信息
   * @return {Promise}
   */
  createWorkOrder (params) {
    return http.post(
      'work_order', params
    )
  },

  /**
   * 删除工单
   * @param  {String} id 工单id
   * @return {Promise}
   */
  deleteWorkOrder (id) {
    return http.del(
      `work_order/${id}`
    )
  },

  /**
   * 更新工单
   * @param  {String} id 工单id
   * @param  {Object} params 工单信息
   * @return {Promise}
   */
  updateWorkOrder (id, params) {
    return http.put(
      `work_order/${id}`, params
    )
  },

  /**
   * 获取工单列表
   * @param  {Object} params 条件
   * @return {Promise}
   */
  getWorkOrders (params = {}) {
    return http.post(
      `work_orders`, params
    )
  },

  /**
   * 获取工单详情
   * @param  {String} id 条件
   * @return {Promise}
   */
  getWorkOrder (id) {
    return http.get(
      `work_order/${id}`
    )
  },

  /**
   * 工单回复
   * @param  {String} id 工单id
   * @param  {Object} params 条件
   * @return {Promise}
   */
  replyWorkOrder (id, params) {
    return http.post(
      `work_orders/reply/${id}`, params
    )
  },
  /**
   * 查询工单回复详情
   * @param {*} id
   */
  getReplyList (id) {
    return http.get(
      `work_orders/reply/${id}`
    )
  },
  /**
   * 查询工单活动日志
   * @param {*} id
   */
  getEventlogs (id) {
    return http.get(
      `work_orders/event_logs/${id}`
    )
  },
  /**
   * 创建工单类型
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  createWorkOrderConfig (params) {
    return http.post(
      `work_orders/config`, params
    )
  },

  /**
   * 删除工单类型
   * @param  {String} id 工单id
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  deleteWorkOrderType (id) {
    return http.del(
      `work_orders/type/${id}`
    )
  },

  /**
   * 更新工单类型
   * @param  {String} id 工单id
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  updateWorkOrderType (id, params) {
    return http.del(
      `work_orders/type/${id}`, params
    )
  },

  /**
   * 查询工单类型
   * @param  {String} id 工单id
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  getWorkOrderType (id, params) {
    return http.get(
      `work_orders/type/${id}`, params
    )
  },
  /**
   * 查询工单配置
   * @param {*} params 条件参数
   */
  getWorkOrderConfig (type = 'types') {
    return http.get(
      `work_orders/config/${type}`
    )
  },
  /**
   * 新增网点
   * @param  {String} id 网点id
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  createBranch (params) {
    return http.post(
      `warranty/branch`, params
    )
  },

  /**
   * 删除网点
   * @param  {String} id 网点id
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  deleteBranch (id) {
    return http.del(
      `warranty/branch/${id}`
    )
  },

  /**
   * 更新网点
   * @param  {String} id 网点id
   * @param  {Object} params 类型参数
   * @return {Promise}
   */
  updateBranch (id, params) {
    return http.put(
      `warranty/branch/${id}`, params
    )
  },

  /**
   * 查询网点列表
   * @param  {String} id 网点id
   * @param  {Object} params 条件参数
   * @return {Promise}
   */
  getBranches (params) {
    return http.post(
      `warranty/branches`, params
    )
  },

  /**
   * 查询附近网点
   * @param  {String} id 网点id
   * @param  {Object} params 条件参数
   * @return {Promise}
   */
  getNearBranch (params) {
    return http.post(
      `warranty/branch/near`, params
    )
  }
}
